//�����ŵ���botva2�ĺ�������

[Code]
TYPE
  TBtnEventProc = PROCEDURE(h : HWND);
  TPBProc = FUNCTION(h : hWnd; Msg, wParam, lParam : LONGINT) : LONGINT; 
  HGDIOBJ = LONGWORD;
  
FUNCTION  ImgLoad(h : HWND; FileName : PAnsiChar; Left, Top, Width, Height : INTEGER; Stretch, IsBkg : BOOLEAN) : LONGINT; EXTERNAL 'ImgLoad@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE ImgSetVisibility(img : LONGINT; Visible : BOOLEAN); EXTERNAL 'ImgSetVisibility@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE ImgApplyChanges(h : HWND); EXTERNAL 'ImgApplyChanges@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE ImgSetPosition(img : LONGINT; NewLeft, NewTop, NewWidth, NewHeight : INTEGER); EXTERNAL 'ImgSetPosition@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE ImgRelease(img : LONGINT); EXTERNAL 'ImgRelease@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE CreateFormFromImage(h : HWND; FileName : PAnsiChar); EXTERNAL 'CreateFormFromImage@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE gdipShutdown();  EXTERNAL 'gdipShutdown@files:botva2.dll STDCALL DELAYLOAD';
FUNCTION  WrapBtnCallback(Callback : TBtnEventProc; ParamCount : INTEGER) : LONGWORD; EXTERNAL 'wrapcallback@files:innocallback.dll STDCALL DELAYLOAD';
FUNCTION  BtnCreate(hParent : HWND; Left, Top, Width, Height : INTEGER; FileName : PAnsiChar; ShadowWidth : INTEGER; IsCheckBtn : BOOLEAN) : HWND;  EXTERNAL 'BtnCreate@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE BtnSetVisibility(h : HWND; Value : BOOLEAN); EXTERNAL 'BtnSetVisibility@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE BtnSetEvent(h : HWND; EventID : INTEGER; Event : LONGWORD); EXTERNAL 'BtnSetEvent@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE BtnSetEnabled(h : HWND; Value : BOOLEAN); EXTERNAL 'BtnSetEnabled@files:botva2.dll STDCALL DELAYLOAD';
FUNCTION  BtnGetChecked(h : HWND) : BOOLEAN; EXTERNAL 'BtnGetChecked@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE BtnSetChecked(h : HWND; Value : BOOLEAN); EXTERNAL 'BtnSetChecked@files:botva2.dll STDCALL DELAYLOAD';
PROCEDURE BtnSetPosition(h : HWND; NewLeft, NewTop, NewWidth, NewHeight : INTEGER);  EXTERNAL 'BtnSetPosition@files:botva2.dll STDCALL DELAYLOAD';
FUNCTION  SetWindowLong(h : HWnd; Index : INTEGER; NewLong : LONGINT) : LONGINT; EXTERNAL 'SetWindowLongA@user32.dll STDCALL';
FUNCTION  GetWindowLong(h : HWnd; Index : INTEGER) : LONGINT; EXTERNAL 'GetWindowLongA@user32.dll STDCALL';

FUNCTION  PBCallBack(P : TPBProc; ParamCount : INTEGER) : LONGWORD; EXTERNAL 'wrapcallback@files:innocallback.dll STDCALL DELAYLOAD';
FUNCTION  CallWindowProc(lpPrevWndFunc : LONGINT; h : HWND; Msg : UINT; wParam, lParam : LONGINT) : LONGINT; EXTERNAL 'CallWindowProcA@user32.dll STDCALL';
PROCEDURE ImgSetVisiblePart(img : LONGINT; NewLeft, NewTop, NewWidth, NewHeight : INTEGER); EXTERNAL 'ImgSetVisiblePart@files:botva2.dll STDCALL DELAYLOAD';
FUNCTION  ReleaseCapture() : LONGINT; EXTERNAL 'ReleaseCapture@user32.dll STDCALL';
FUNCTION  CreateRoundRectRgn(p1, p2, p3, p4, p5, p6 : INTEGER) : THandle; EXTERNAL 'CreateRoundRectRgn@gdi32.dll STDCALL';
FUNCTION  SetWindowRgn(h : HWND; hRgn : THandle; bRedraw : BOOLEAN) : INTEGER; EXTERNAL 'SetWindowRgn@user32.dll STDCALL';

// add by soda 
FUNCTION SetClassLong(h : hwnd; nIndex : integer; dwNewLong : longint) : DWORD; external 'SetClassLongW@user32.dll stdcall';
function GetClassLong(h : hwnd; nIndex : integer) : DWORD; external 'GetClassLongW@user32.dll stdcall';
FUNCTION SetLayered(h : hwnd; color: LONGWORD; alpha: UINT; dwFlags: DWORD) : DWORD; external 'SetLayeredWindowAttributes@user32.dll stdcall';
FUNCTION GetDC(hWnd: HWND): LONGWORD; external 'GetDC@user32.dll stdcall';
FUNCTION ReleaseDC(hWnd: HWND; hDC: LONGWORD): integer; external 'ReleaseDC@user32.dll stdcall';
// ��ɫlong��ֵ= 65536*Blue + 256* Green + Red (0,0,255)
FUNCTION CreatePen(penStyle: integer; width: integer; color: LONGINT): LONGWORD; EXTERNAL 'CreatePen@gdi32.dll STDCALL';
//FUNCTION DeleteObject(hdc: HGDIOBJ;): BOOLEAN; EXTERNAL 'DeleteObject@gdi32.dll STDCALL';
FUNCTION Rectangle(hdc: LONGWORD; left, top, right, bottom : INTEGER): BOOLEAN; EXTERNAL 'Rectangle@gdi32.dll STDCALL';
//FUNCTION SelectObject(hdc: LONGWORD; hdcObj: HGDIOBJ;): LONGINT; EXTERNAL 'SelectObject@gdi32.dll STDCALL';
FUNCTION GetDriveType(lpRootPathName: AnsiString): Integer; EXTERNAL 'GetDriveTypeA@kernel32.dll stdcall';
FUNCTION IsDBCSLeadByte(TestChar: Byte): Boolean; EXTERNAL 'IsDBCSLeadByte@kernel32.dll stdcall';
FUNCTION PathIsNetworkPath(path: AnsiString): Boolean; EXTERNAL 'PathIsNetworkPathA@Shlwapi.dll stdcall';
FUNCTION GetFileAttributes(path: AnsiString): LONGWORD; EXTERNAL 'GetFileAttributesA@kernel32.dll stdcall';
procedure ExitProcess(exitCode:integer); external 'ExitProcess@kernel32.dll stdcall';

FUNCTION GetModuleHandle(module: AnsiString): LONGWORD; EXTERNAL 'GetModuleHandleA@kernel32.dll stdcall';
PROCEDURE EnableShadow(module : longword; h: HWND); EXTERNAL 'EnableShadow@files:shadow.dll STDCALL DELAYLOAD';
PROCEDURE AddNumber(p1 : integer; p2: integer); EXTERNAL 'AddNumber@files:shadow.dll STDCALL DELAYLOAD';
// add end

//qin - new
procedure ImgSetTransparent(img:Longint; Value:integer); external 'ImgSetTransparent@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetText(h:HWND; Text:PAnsiChar); external 'BtnSetText@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFont(h:HWND; Font:Cardinal); external 'BtnSetFont@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFontColor(h:HWND; NormalFontColor, FocusedFontColor, PressedFontColor, DisabledFontColor: Cardinal); external 'BtnSetFontColor@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetCursor(h:HWND; hCur:Cardinal); external 'BtnSetCursor@{tmp}\botva2.dll stdcall delayload';
function GetSysCursorHandle(id:integer):Cardinal; external 'GetSysCursorHandle@{tmp}\botva2.dll stdcall delayload';
//function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; external 'SetLayeredWindowAttributes@user32 stdcall';
//procedure ExitProcess(exitCode:integer); external 'ExitProcess@kernel32.dll stdcall';
